{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Keras ResNet classifier for CIFAR10 test\n",
    "ResNet32 network for CIFAR10 network test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The autoreload extension is already loaded. To reload it, use:\n",
      "  %reload_ext autoreload\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import keras\n",
    "from keras.models import Sequential\n",
    "from keras.layers import Dense, Activation\n",
    "from data_utils import *\n",
    "\n",
    "%matplotlib inline\n",
    "plt.rcParams['figure.figsize'] = (10.0, 8.0) # set default size of plots\n",
    "plt.rcParams['image.interpolation'] = 'nearest'\n",
    "plt.rcParams['image.cmap'] = 'gray'\n",
    "\n",
    "import tensorflow as tf \n",
    "from keras import backend as k\n",
    "import os\n",
    "config = tf.ConfigProto()\n",
    "# config.gpu_options.per_process_gpu_memory_fraction = 0.1\n",
    "config.gpu_options.allow_growth = True\n",
    "k.tensorflow_backend.set_session(tf.Session(config=config))\n",
    "\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CIFAR10 Training data shape: (50000, 32, 32, 3)\n",
      "CIFAR10 Training label shape (50000, 1)\n",
      "CIFAR10 Test data shape (10000, 32, 32, 3)\n",
      "CIFAR10 Test label shape (10000, 1)\n"
     ]
    }
   ],
   "source": [
    "# get data\n",
    "cifar10_data = CIFAR10Data()\n",
    "x_train, y_train, x_test, y_test = cifar10_data.get_data(subtract_mean=True)\n",
    "\n",
    "num_train = int(x_train.shape[0] * 0.9)\n",
    "num_val = x_train.shape[0] - num_train\n",
    "mask = list(range(num_train, num_train+num_val))\n",
    "x_val = x_train[mask]\n",
    "y_val = y_train[mask]\n",
    "\n",
    "mask = list(range(num_train))\n",
    "x_train = x_train[mask]\n",
    "y_train = y_train[mask]\n",
    "\n",
    "data = (x_train, y_train, x_val, y_val, x_test, y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# test with resnet56\n",
    "resnet56 is inffered in the ResNet paper."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "__________________________________________________________________________________________________\n",
      "Layer (type)                    Output Shape         Param #     Connected to                     \n",
      "==================================================================================================\n",
      "input_3 (InputLayer)            (None, 32, 32, 3)    0                                            \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_115 (Conv2D)             (None, 32, 32, 16)   432         input_3[0][0]                    \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_115 (BatchN (None, 32, 32, 16)   64          conv2d_115[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_111 (Activation)     (None, 32, 32, 16)   0           batch_normalization_115[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_116 (Conv2D)             (None, 32, 32, 16)   2304        activation_111[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_116 (BatchN (None, 32, 32, 16)   64          conv2d_116[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_112 (Activation)     (None, 32, 32, 16)   0           batch_normalization_116[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_117 (Conv2D)             (None, 32, 32, 16)   2304        activation_112[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_117 (BatchN (None, 32, 32, 16)   64          conv2d_117[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_55 (Add)                    (None, 32, 32, 16)   0           activation_111[0][0]             \n",
      "                                                                 batch_normalization_117[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_113 (Activation)     (None, 32, 32, 16)   0           add_55[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_118 (Conv2D)             (None, 32, 32, 16)   2304        activation_113[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_118 (BatchN (None, 32, 32, 16)   64          conv2d_118[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_114 (Activation)     (None, 32, 32, 16)   0           batch_normalization_118[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_119 (Conv2D)             (None, 32, 32, 16)   2304        activation_114[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_119 (BatchN (None, 32, 32, 16)   64          conv2d_119[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_56 (Add)                    (None, 32, 32, 16)   0           activation_113[0][0]             \n",
      "                                                                 batch_normalization_119[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_115 (Activation)     (None, 32, 32, 16)   0           add_56[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_120 (Conv2D)             (None, 32, 32, 16)   2304        activation_115[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_120 (BatchN (None, 32, 32, 16)   64          conv2d_120[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_116 (Activation)     (None, 32, 32, 16)   0           batch_normalization_120[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_121 (Conv2D)             (None, 32, 32, 16)   2304        activation_116[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_121 (BatchN (None, 32, 32, 16)   64          conv2d_121[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_57 (Add)                    (None, 32, 32, 16)   0           activation_115[0][0]             \n",
      "                                                                 batch_normalization_121[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_117 (Activation)     (None, 32, 32, 16)   0           add_57[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_122 (Conv2D)             (None, 32, 32, 16)   2304        activation_117[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_122 (BatchN (None, 32, 32, 16)   64          conv2d_122[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_118 (Activation)     (None, 32, 32, 16)   0           batch_normalization_122[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_123 (Conv2D)             (None, 32, 32, 16)   2304        activation_118[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_123 (BatchN (None, 32, 32, 16)   64          conv2d_123[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_58 (Add)                    (None, 32, 32, 16)   0           activation_117[0][0]             \n",
      "                                                                 batch_normalization_123[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_119 (Activation)     (None, 32, 32, 16)   0           add_58[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_124 (Conv2D)             (None, 32, 32, 16)   2304        activation_119[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_124 (BatchN (None, 32, 32, 16)   64          conv2d_124[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_120 (Activation)     (None, 32, 32, 16)   0           batch_normalization_124[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_125 (Conv2D)             (None, 32, 32, 16)   2304        activation_120[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_125 (BatchN (None, 32, 32, 16)   64          conv2d_125[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_59 (Add)                    (None, 32, 32, 16)   0           activation_119[0][0]             \n",
      "                                                                 batch_normalization_125[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_121 (Activation)     (None, 32, 32, 16)   0           add_59[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_126 (Conv2D)             (None, 32, 32, 16)   2304        activation_121[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_126 (BatchN (None, 32, 32, 16)   64          conv2d_126[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_122 (Activation)     (None, 32, 32, 16)   0           batch_normalization_126[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_127 (Conv2D)             (None, 32, 32, 16)   2304        activation_122[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_127 (BatchN (None, 32, 32, 16)   64          conv2d_127[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_60 (Add)                    (None, 32, 32, 16)   0           activation_121[0][0]             \n",
      "                                                                 batch_normalization_127[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_123 (Activation)     (None, 32, 32, 16)   0           add_60[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_128 (Conv2D)             (None, 32, 32, 16)   2304        activation_123[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_128 (BatchN (None, 32, 32, 16)   64          conv2d_128[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_124 (Activation)     (None, 32, 32, 16)   0           batch_normalization_128[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_129 (Conv2D)             (None, 32, 32, 16)   2304        activation_124[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_129 (BatchN (None, 32, 32, 16)   64          conv2d_129[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_61 (Add)                    (None, 32, 32, 16)   0           activation_123[0][0]             \n",
      "                                                                 batch_normalization_129[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_125 (Activation)     (None, 32, 32, 16)   0           add_61[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_130 (Conv2D)             (None, 32, 32, 16)   2304        activation_125[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_130 (BatchN (None, 32, 32, 16)   64          conv2d_130[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_126 (Activation)     (None, 32, 32, 16)   0           batch_normalization_130[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_131 (Conv2D)             (None, 32, 32, 16)   2304        activation_126[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_131 (BatchN (None, 32, 32, 16)   64          conv2d_131[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_62 (Add)                    (None, 32, 32, 16)   0           activation_125[0][0]             \n",
      "                                                                 batch_normalization_131[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_127 (Activation)     (None, 32, 32, 16)   0           add_62[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_132 (Conv2D)             (None, 32, 32, 16)   2304        activation_127[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_132 (BatchN (None, 32, 32, 16)   64          conv2d_132[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_128 (Activation)     (None, 32, 32, 16)   0           batch_normalization_132[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_133 (Conv2D)             (None, 32, 32, 16)   2304        activation_128[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_133 (BatchN (None, 32, 32, 16)   64          conv2d_133[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_63 (Add)                    (None, 32, 32, 16)   0           activation_127[0][0]             \n",
      "                                                                 batch_normalization_133[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_129 (Activation)     (None, 32, 32, 16)   0           add_63[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_135 (Conv2D)             (None, 16, 16, 32)   4608        activation_129[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_135 (BatchN (None, 16, 16, 32)   128         conv2d_135[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_130 (Activation)     (None, 16, 16, 32)   0           batch_normalization_135[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_134 (Conv2D)             (None, 16, 16, 32)   512         activation_129[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_136 (Conv2D)             (None, 16, 16, 32)   9216        activation_130[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_134 (BatchN (None, 16, 16, 32)   128         conv2d_134[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_136 (BatchN (None, 16, 16, 32)   128         conv2d_136[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_64 (Add)                    (None, 16, 16, 32)   0           batch_normalization_134[0][0]    \n",
      "                                                                 batch_normalization_136[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_131 (Activation)     (None, 16, 16, 32)   0           add_64[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_137 (Conv2D)             (None, 16, 16, 32)   9216        activation_131[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_137 (BatchN (None, 16, 16, 32)   128         conv2d_137[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_132 (Activation)     (None, 16, 16, 32)   0           batch_normalization_137[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_138 (Conv2D)             (None, 16, 16, 32)   9216        activation_132[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_138 (BatchN (None, 16, 16, 32)   128         conv2d_138[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_65 (Add)                    (None, 16, 16, 32)   0           activation_131[0][0]             \n",
      "                                                                 batch_normalization_138[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_133 (Activation)     (None, 16, 16, 32)   0           add_65[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_139 (Conv2D)             (None, 16, 16, 32)   9216        activation_133[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_139 (BatchN (None, 16, 16, 32)   128         conv2d_139[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_134 (Activation)     (None, 16, 16, 32)   0           batch_normalization_139[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_140 (Conv2D)             (None, 16, 16, 32)   9216        activation_134[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_140 (BatchN (None, 16, 16, 32)   128         conv2d_140[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_66 (Add)                    (None, 16, 16, 32)   0           activation_133[0][0]             \n",
      "                                                                 batch_normalization_140[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_135 (Activation)     (None, 16, 16, 32)   0           add_66[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_141 (Conv2D)             (None, 16, 16, 32)   9216        activation_135[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_141 (BatchN (None, 16, 16, 32)   128         conv2d_141[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_136 (Activation)     (None, 16, 16, 32)   0           batch_normalization_141[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_142 (Conv2D)             (None, 16, 16, 32)   9216        activation_136[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_142 (BatchN (None, 16, 16, 32)   128         conv2d_142[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_67 (Add)                    (None, 16, 16, 32)   0           activation_135[0][0]             \n",
      "                                                                 batch_normalization_142[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_137 (Activation)     (None, 16, 16, 32)   0           add_67[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_143 (Conv2D)             (None, 16, 16, 32)   9216        activation_137[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_143 (BatchN (None, 16, 16, 32)   128         conv2d_143[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_138 (Activation)     (None, 16, 16, 32)   0           batch_normalization_143[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_144 (Conv2D)             (None, 16, 16, 32)   9216        activation_138[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_144 (BatchN (None, 16, 16, 32)   128         conv2d_144[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_68 (Add)                    (None, 16, 16, 32)   0           activation_137[0][0]             \n",
      "                                                                 batch_normalization_144[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_139 (Activation)     (None, 16, 16, 32)   0           add_68[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_145 (Conv2D)             (None, 16, 16, 32)   9216        activation_139[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_145 (BatchN (None, 16, 16, 32)   128         conv2d_145[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_140 (Activation)     (None, 16, 16, 32)   0           batch_normalization_145[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_146 (Conv2D)             (None, 16, 16, 32)   9216        activation_140[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_146 (BatchN (None, 16, 16, 32)   128         conv2d_146[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_69 (Add)                    (None, 16, 16, 32)   0           activation_139[0][0]             \n",
      "                                                                 batch_normalization_146[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_141 (Activation)     (None, 16, 16, 32)   0           add_69[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_147 (Conv2D)             (None, 16, 16, 32)   9216        activation_141[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_147 (BatchN (None, 16, 16, 32)   128         conv2d_147[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_142 (Activation)     (None, 16, 16, 32)   0           batch_normalization_147[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_148 (Conv2D)             (None, 16, 16, 32)   9216        activation_142[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_148 (BatchN (None, 16, 16, 32)   128         conv2d_148[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_70 (Add)                    (None, 16, 16, 32)   0           activation_141[0][0]             \n",
      "                                                                 batch_normalization_148[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_143 (Activation)     (None, 16, 16, 32)   0           add_70[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_149 (Conv2D)             (None, 16, 16, 32)   9216        activation_143[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_149 (BatchN (None, 16, 16, 32)   128         conv2d_149[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_144 (Activation)     (None, 16, 16, 32)   0           batch_normalization_149[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_150 (Conv2D)             (None, 16, 16, 32)   9216        activation_144[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_150 (BatchN (None, 16, 16, 32)   128         conv2d_150[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_71 (Add)                    (None, 16, 16, 32)   0           activation_143[0][0]             \n",
      "                                                                 batch_normalization_150[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_145 (Activation)     (None, 16, 16, 32)   0           add_71[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_151 (Conv2D)             (None, 16, 16, 32)   9216        activation_145[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_151 (BatchN (None, 16, 16, 32)   128         conv2d_151[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_146 (Activation)     (None, 16, 16, 32)   0           batch_normalization_151[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_152 (Conv2D)             (None, 16, 16, 32)   9216        activation_146[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_152 (BatchN (None, 16, 16, 32)   128         conv2d_152[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_72 (Add)                    (None, 16, 16, 32)   0           activation_145[0][0]             \n",
      "                                                                 batch_normalization_152[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_147 (Activation)     (None, 16, 16, 32)   0           add_72[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_154 (Conv2D)             (None, 8, 8, 64)     18432       activation_147[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_154 (BatchN (None, 8, 8, 64)     256         conv2d_154[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_148 (Activation)     (None, 8, 8, 64)     0           batch_normalization_154[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_153 (Conv2D)             (None, 8, 8, 64)     2048        activation_147[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_155 (Conv2D)             (None, 8, 8, 64)     36864       activation_148[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_153 (BatchN (None, 8, 8, 64)     256         conv2d_153[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_155 (BatchN (None, 8, 8, 64)     256         conv2d_155[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_73 (Add)                    (None, 8, 8, 64)     0           batch_normalization_153[0][0]    \n",
      "                                                                 batch_normalization_155[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_149 (Activation)     (None, 8, 8, 64)     0           add_73[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_156 (Conv2D)             (None, 8, 8, 64)     36864       activation_149[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_156 (BatchN (None, 8, 8, 64)     256         conv2d_156[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_150 (Activation)     (None, 8, 8, 64)     0           batch_normalization_156[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_157 (Conv2D)             (None, 8, 8, 64)     36864       activation_150[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_157 (BatchN (None, 8, 8, 64)     256         conv2d_157[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_74 (Add)                    (None, 8, 8, 64)     0           activation_149[0][0]             \n",
      "                                                                 batch_normalization_157[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_151 (Activation)     (None, 8, 8, 64)     0           add_74[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_158 (Conv2D)             (None, 8, 8, 64)     36864       activation_151[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_158 (BatchN (None, 8, 8, 64)     256         conv2d_158[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_152 (Activation)     (None, 8, 8, 64)     0           batch_normalization_158[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_159 (Conv2D)             (None, 8, 8, 64)     36864       activation_152[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_159 (BatchN (None, 8, 8, 64)     256         conv2d_159[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_75 (Add)                    (None, 8, 8, 64)     0           activation_151[0][0]             \n",
      "                                                                 batch_normalization_159[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_153 (Activation)     (None, 8, 8, 64)     0           add_75[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_160 (Conv2D)             (None, 8, 8, 64)     36864       activation_153[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_160 (BatchN (None, 8, 8, 64)     256         conv2d_160[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_154 (Activation)     (None, 8, 8, 64)     0           batch_normalization_160[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_161 (Conv2D)             (None, 8, 8, 64)     36864       activation_154[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_161 (BatchN (None, 8, 8, 64)     256         conv2d_161[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_76 (Add)                    (None, 8, 8, 64)     0           activation_153[0][0]             \n",
      "                                                                 batch_normalization_161[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_155 (Activation)     (None, 8, 8, 64)     0           add_76[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_162 (Conv2D)             (None, 8, 8, 64)     36864       activation_155[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_162 (BatchN (None, 8, 8, 64)     256         conv2d_162[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_156 (Activation)     (None, 8, 8, 64)     0           batch_normalization_162[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_163 (Conv2D)             (None, 8, 8, 64)     36864       activation_156[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_163 (BatchN (None, 8, 8, 64)     256         conv2d_163[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_77 (Add)                    (None, 8, 8, 64)     0           activation_155[0][0]             \n",
      "                                                                 batch_normalization_163[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_157 (Activation)     (None, 8, 8, 64)     0           add_77[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_164 (Conv2D)             (None, 8, 8, 64)     36864       activation_157[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_164 (BatchN (None, 8, 8, 64)     256         conv2d_164[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_158 (Activation)     (None, 8, 8, 64)     0           batch_normalization_164[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_165 (Conv2D)             (None, 8, 8, 64)     36864       activation_158[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_165 (BatchN (None, 8, 8, 64)     256         conv2d_165[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_78 (Add)                    (None, 8, 8, 64)     0           activation_157[0][0]             \n",
      "                                                                 batch_normalization_165[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_159 (Activation)     (None, 8, 8, 64)     0           add_78[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_166 (Conv2D)             (None, 8, 8, 64)     36864       activation_159[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_166 (BatchN (None, 8, 8, 64)     256         conv2d_166[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_160 (Activation)     (None, 8, 8, 64)     0           batch_normalization_166[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_167 (Conv2D)             (None, 8, 8, 64)     36864       activation_160[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_167 (BatchN (None, 8, 8, 64)     256         conv2d_167[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_79 (Add)                    (None, 8, 8, 64)     0           activation_159[0][0]             \n",
      "                                                                 batch_normalization_167[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_161 (Activation)     (None, 8, 8, 64)     0           add_79[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_168 (Conv2D)             (None, 8, 8, 64)     36864       activation_161[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_168 (BatchN (None, 8, 8, 64)     256         conv2d_168[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_162 (Activation)     (None, 8, 8, 64)     0           batch_normalization_168[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_169 (Conv2D)             (None, 8, 8, 64)     36864       activation_162[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_169 (BatchN (None, 8, 8, 64)     256         conv2d_169[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_80 (Add)                    (None, 8, 8, 64)     0           activation_161[0][0]             \n",
      "                                                                 batch_normalization_169[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_163 (Activation)     (None, 8, 8, 64)     0           add_80[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_170 (Conv2D)             (None, 8, 8, 64)     36864       activation_163[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_170 (BatchN (None, 8, 8, 64)     256         conv2d_170[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "activation_164 (Activation)     (None, 8, 8, 64)     0           batch_normalization_170[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_171 (Conv2D)             (None, 8, 8, 64)     36864       activation_164[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_171 (BatchN (None, 8, 8, 64)     256         conv2d_171[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "add_81 (Add)                    (None, 8, 8, 64)     0           activation_163[0][0]             \n",
      "                                                                 batch_normalization_171[0][0]    \n",
      "__________________________________________________________________________________________________\n",
      "activation_165 (Activation)     (None, 8, 8, 64)     0           add_81[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "average_pooling2d_3 (AveragePoo (None, 1, 1, 64)     0           activation_165[0][0]             \n",
      "__________________________________________________________________________________________________\n",
      "flatten_3 (Flatten)             (None, 64)           0           average_pooling2d_3[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "dense_3 (Dense)                 (None, 10)           650         flatten_3[0][0]                  \n",
      "==================================================================================================\n",
      "Total params: 860,026\n",
      "Trainable params: 855,770\n",
      "Non-trainable params: 4,256\n",
      "__________________________________________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "from classifiers.ResNet import ResNet56ForCIFAR10\n",
    "from keras import losses\n",
    "from keras import optimizers\n",
    "\n",
    "weight_decay = 1e-4\n",
    "lr = 1e-1\n",
    "num_classes = 10\n",
    "resnet56 = ResNet56ForCIFAR10(input_shape=(32, 32, 3), classes=num_classes, weight_decay=weight_decay)\n",
    "opt = optimizers.SGD(lr=lr, momentum=0.9, nesterov=False)\n",
    "resnet56.compile(optimizer=opt,\n",
    "                 loss=losses.categorical_crossentropy,\n",
    "                 metrics=['accuracy'])\n",
    "resnet56.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "train with data augmentation\n",
      "Epoch 1/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 80s 227ms/step - loss: 2.4822 - acc: 0.2144 - val_loss: 2.5327 - val_acc: 0.2160\n",
      "Epoch 2/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 185ms/step - loss: 1.9558 - acc: 0.3743 - val_loss: 2.1352 - val_acc: 0.3538\n",
      "Epoch 3/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 185ms/step - loss: 1.7209 - acc: 0.4624 - val_loss: 1.6588 - val_acc: 0.4810\n",
      "Epoch 4/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 185ms/step - loss: 1.5320 - acc: 0.5320 - val_loss: 1.6373 - val_acc: 0.5116\n",
      "Epoch 5/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 184ms/step - loss: 1.3377 - acc: 0.6018 - val_loss: 1.5263 - val_acc: 0.5638\n",
      "Epoch 6/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 189ms/step - loss: 1.1643 - acc: 0.6642 - val_loss: 1.6661 - val_acc: 0.5578\n",
      "Epoch 7/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 1.0360 - acc: 0.7114 - val_loss: 1.0865 - val_acc: 0.6914\n",
      "Epoch 8/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 186ms/step - loss: 0.9468 - acc: 0.7424 - val_loss: 1.0634 - val_acc: 0.7310\n",
      "Epoch 9/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 186ms/step - loss: 0.8671 - acc: 0.7719 - val_loss: 1.2985 - val_acc: 0.6580\n",
      "Epoch 10/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 186ms/step - loss: 0.8104 - acc: 0.7906 - val_loss: 1.0696 - val_acc: 0.7034\n",
      "Epoch 11/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 185ms/step - loss: 0.7631 - acc: 0.8063 - val_loss: 1.0716 - val_acc: 0.7308\n",
      "Epoch 12/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.7365 - acc: 0.8159 - val_loss: 1.8078 - val_acc: 0.5696\n",
      "Epoch 13/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 184ms/step - loss: 0.7041 - acc: 0.8267 - val_loss: 1.1704 - val_acc: 0.7144\n",
      "Epoch 14/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 186ms/step - loss: 0.6867 - acc: 0.8339 - val_loss: 1.0533 - val_acc: 0.7352\n",
      "Epoch 15/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.6595 - acc: 0.8429 - val_loss: 1.2267 - val_acc: 0.6946\n",
      "Epoch 16/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 186ms/step - loss: 0.6497 - acc: 0.8452 - val_loss: 0.8610 - val_acc: 0.7804\n",
      "Epoch 17/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.6321 - acc: 0.8530 - val_loss: 0.8870 - val_acc: 0.7810\n",
      "Epoch 18/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 186ms/step - loss: 0.6162 - acc: 0.8587 - val_loss: 0.7836 - val_acc: 0.8014\n",
      "Epoch 19/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 189ms/step - loss: 0.6062 - acc: 0.8631 - val_loss: 0.9454 - val_acc: 0.7638\n",
      "Epoch 20/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.5946 - acc: 0.8679 - val_loss: 1.0834 - val_acc: 0.7378\n",
      "Epoch 21/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.5809 - acc: 0.8731 - val_loss: 0.7125 - val_acc: 0.8320\n",
      "Epoch 22/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.5731 - acc: 0.8751 - val_loss: 0.7918 - val_acc: 0.8026\n",
      "Epoch 23/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.5748 - acc: 0.8740 - val_loss: 0.7773 - val_acc: 0.8220\n",
      "Epoch 24/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 190ms/step - loss: 0.5596 - acc: 0.8824 - val_loss: 0.9711 - val_acc: 0.7620\n",
      "Epoch 25/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.5590 - acc: 0.8832 - val_loss: 0.8460 - val_acc: 0.8022\n",
      "Epoch 26/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 191ms/step - loss: 0.5576 - acc: 0.8827 - val_loss: 0.7229 - val_acc: 0.8360\n",
      "Epoch 27/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.5531 - acc: 0.8867 - val_loss: 0.8040 - val_acc: 0.8180\n",
      "Epoch 28/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.5416 - acc: 0.8895 - val_loss: 0.9203 - val_acc: 0.7820\n",
      "Epoch 29/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.5461 - acc: 0.8893 - val_loss: 0.8815 - val_acc: 0.7996\n",
      "Epoch 30/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 191ms/step - loss: 0.5455 - acc: 0.8919 - val_loss: 1.0221 - val_acc: 0.7600\n",
      "Epoch 31/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 190ms/step - loss: 0.5345 - acc: 0.8967 - val_loss: 0.8420 - val_acc: 0.8050\n",
      "Epoch 32/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 191ms/step - loss: 0.5338 - acc: 0.8969 - val_loss: 0.8572 - val_acc: 0.8130\n",
      "Epoch 33/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.5325 - acc: 0.8980 - val_loss: 0.7719 - val_acc: 0.8212\n",
      "Epoch 34/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.5262 - acc: 0.9004 - val_loss: 0.8983 - val_acc: 0.7940\n",
      "Epoch 35/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 186ms/step - loss: 0.5197 - acc: 0.9036 - val_loss: 0.7277 - val_acc: 0.8400\n",
      "Epoch 36/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 189ms/step - loss: 0.5225 - acc: 0.9025 - val_loss: 1.3259 - val_acc: 0.7158\n",
      "Epoch 37/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 191ms/step - loss: 0.5174 - acc: 0.9051 - val_loss: 0.8701 - val_acc: 0.7928\n",
      "Epoch 38/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.5153 - acc: 0.9067 - val_loss: 0.8460 - val_acc: 0.8096\n",
      "Epoch 39/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 191ms/step - loss: 0.5129 - acc: 0.9082 - val_loss: 0.7572 - val_acc: 0.8376\n",
      "Epoch 40/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 191ms/step - loss: 0.5151 - acc: 0.9076 - val_loss: 0.7940 - val_acc: 0.8246\n",
      "Epoch 41/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.5124 - acc: 0.9088 - val_loss: 0.7642 - val_acc: 0.8380\n",
      "Epoch 42/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.5132 - acc: 0.9103 - val_loss: 0.7275 - val_acc: 0.8452\n",
      "Epoch 43/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.5086 - acc: 0.9113 - val_loss: 0.8046 - val_acc: 0.8248\n",
      "Epoch 44/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.4966 - acc: 0.9147 - val_loss: 0.9726 - val_acc: 0.8144\n",
      "Epoch 45/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 186ms/step - loss: 0.5075 - acc: 0.9112 - val_loss: 1.0879 - val_acc: 0.7472\n",
      "Epoch 46/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 189ms/step - loss: 0.5008 - acc: 0.9156 - val_loss: 0.9256 - val_acc: 0.8058\n",
      "Epoch 47/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 189ms/step - loss: 0.5002 - acc: 0.9153 - val_loss: 0.7408 - val_acc: 0.8388\n",
      "Epoch 48/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.4946 - acc: 0.9175 - val_loss: 0.7493 - val_acc: 0.8518\n",
      "Epoch 49/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.4990 - acc: 0.9178 - val_loss: 0.9878 - val_acc: 0.7790\n",
      "Epoch 50/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.4929 - acc: 0.9201 - val_loss: 0.8022 - val_acc: 0.8268\n",
      "Epoch 51/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.4973 - acc: 0.9187 - val_loss: 1.0449 - val_acc: 0.7802\n",
      "Epoch 52/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 184ms/step - loss: 0.4975 - acc: 0.9187 - val_loss: 0.8497 - val_acc: 0.8244\n",
      "Epoch 53/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.4918 - acc: 0.9212 - val_loss: 0.7151 - val_acc: 0.8570\n",
      "Epoch 54/182\n",
      "new lr:1.00e-01\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "352/352 [==============================] - 66s 189ms/step - loss: 0.4957 - acc: 0.9197 - val_loss: 0.7595 - val_acc: 0.8462\n",
      "Epoch 55/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.4828 - acc: 0.9252 - val_loss: 0.8711 - val_acc: 0.8236\n",
      "Epoch 56/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 190ms/step - loss: 0.4873 - acc: 0.9227 - val_loss: 0.8605 - val_acc: 0.8200\n",
      "Epoch 57/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 191ms/step - loss: 0.4898 - acc: 0.9199 - val_loss: 0.7435 - val_acc: 0.8450\n",
      "Epoch 58/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 190ms/step - loss: 0.4858 - acc: 0.9257 - val_loss: 0.7218 - val_acc: 0.8658\n",
      "Epoch 59/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 190ms/step - loss: 0.4865 - acc: 0.9243 - val_loss: 0.7634 - val_acc: 0.8460\n",
      "Epoch 60/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 191ms/step - loss: 0.4841 - acc: 0.9255 - val_loss: 0.8382 - val_acc: 0.8336\n",
      "Epoch 61/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 189ms/step - loss: 0.4818 - acc: 0.9256 - val_loss: 0.8521 - val_acc: 0.8332\n",
      "Epoch 62/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 189ms/step - loss: 0.4780 - acc: 0.9278 - val_loss: 0.8507 - val_acc: 0.8314\n",
      "Epoch 63/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 186ms/step - loss: 0.4768 - acc: 0.9262 - val_loss: 0.8956 - val_acc: 0.8166\n",
      "Epoch 64/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.4749 - acc: 0.9290 - val_loss: 0.7857 - val_acc: 0.8366\n",
      "Epoch 65/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 190ms/step - loss: 0.4747 - acc: 0.9277 - val_loss: 0.9649 - val_acc: 0.7906\n",
      "Epoch 66/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 189ms/step - loss: 0.4765 - acc: 0.9262 - val_loss: 1.0936 - val_acc: 0.7924\n",
      "Epoch 67/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 190ms/step - loss: 0.4770 - acc: 0.9279 - val_loss: 1.1137 - val_acc: 0.7576\n",
      "Epoch 68/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.4708 - acc: 0.9302 - val_loss: 0.8249 - val_acc: 0.8354\n",
      "Epoch 69/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 190ms/step - loss: 0.4734 - acc: 0.9285 - val_loss: 0.7253 - val_acc: 0.8610\n",
      "Epoch 70/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 190ms/step - loss: 0.4692 - acc: 0.9296 - val_loss: 0.8140 - val_acc: 0.8450\n",
      "Epoch 71/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 68s 192ms/step - loss: 0.4681 - acc: 0.9297 - val_loss: 0.7691 - val_acc: 0.8428\n",
      "Epoch 72/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 191ms/step - loss: 0.4684 - acc: 0.9300 - val_loss: 0.9021 - val_acc: 0.8232\n",
      "Epoch 73/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 191ms/step - loss: 0.4650 - acc: 0.9318 - val_loss: 0.8174 - val_acc: 0.8420\n",
      "Epoch 74/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 190ms/step - loss: 0.4687 - acc: 0.9317 - val_loss: 0.7537 - val_acc: 0.8562\n",
      "Epoch 75/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 189ms/step - loss: 0.4747 - acc: 0.9300 - val_loss: 0.7645 - val_acc: 0.8488\n",
      "Epoch 76/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 189ms/step - loss: 0.4582 - acc: 0.9350 - val_loss: 0.8346 - val_acc: 0.8476\n",
      "Epoch 77/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 186ms/step - loss: 0.4630 - acc: 0.9325 - val_loss: 0.9483 - val_acc: 0.8032\n",
      "Epoch 78/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.4642 - acc: 0.9319 - val_loss: 0.7264 - val_acc: 0.8620\n",
      "Epoch 79/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.4689 - acc: 0.9307 - val_loss: 0.9108 - val_acc: 0.8210\n",
      "Epoch 80/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 185ms/step - loss: 0.4625 - acc: 0.9335 - val_loss: 0.7050 - val_acc: 0.8618\n",
      "Epoch 81/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.4619 - acc: 0.9328 - val_loss: 0.6782 - val_acc: 0.8718\n",
      "Epoch 82/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 185ms/step - loss: 0.4650 - acc: 0.9325 - val_loss: 0.6909 - val_acc: 0.8658\n",
      "Epoch 83/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 189ms/step - loss: 0.4635 - acc: 0.9332 - val_loss: 0.7824 - val_acc: 0.8432\n",
      "Epoch 84/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.4621 - acc: 0.9337 - val_loss: 0.7683 - val_acc: 0.8508\n",
      "Epoch 85/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.4534 - acc: 0.9375 - val_loss: 0.9043 - val_acc: 0.8128\n",
      "Epoch 86/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 185ms/step - loss: 0.4654 - acc: 0.9336 - val_loss: 0.8469 - val_acc: 0.8170\n",
      "Epoch 87/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 189ms/step - loss: 0.4651 - acc: 0.9338 - val_loss: 0.8920 - val_acc: 0.8294\n",
      "Epoch 88/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.4608 - acc: 0.9355 - val_loss: 1.1993 - val_acc: 0.7260\n",
      "Epoch 89/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 67s 189ms/step - loss: 0.4561 - acc: 0.9367 - val_loss: 0.8557 - val_acc: 0.8192\n",
      "Epoch 90/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 186ms/step - loss: 0.4565 - acc: 0.9369 - val_loss: 0.8743 - val_acc: 0.8252\n",
      "Epoch 91/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 66s 189ms/step - loss: 0.4598 - acc: 0.9351 - val_loss: 0.7556 - val_acc: 0.8558\n",
      "Epoch 92/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 65s 184ms/step - loss: 0.4559 - acc: 0.9374 - val_loss: 0.9947 - val_acc: 0.7992\n",
      "Epoch 93/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 67s 191ms/step - loss: 0.3897 - acc: 0.9605 - val_loss: 0.5403 - val_acc: 0.9148\n",
      "Epoch 94/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 66s 187ms/step - loss: 0.3449 - acc: 0.9761 - val_loss: 0.5285 - val_acc: 0.9214\n",
      "Epoch 95/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.3275 - acc: 0.9805 - val_loss: 0.5268 - val_acc: 0.9222\n",
      "Epoch 96/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 66s 188ms/step - loss: 0.3138 - acc: 0.9838 - val_loss: 0.5342 - val_acc: 0.9204\n",
      "Epoch 97/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 66s 189ms/step - loss: 0.3052 - acc: 0.9858 - val_loss: 0.5357 - val_acc: 0.9224\n",
      "Epoch 98/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 67s 189ms/step - loss: 0.2984 - acc: 0.9867 - val_loss: 0.5328 - val_acc: 0.9224\n",
      "Epoch 99/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 67s 190ms/step - loss: 0.2904 - acc: 0.9882 - val_loss: 0.5241 - val_acc: 0.9258\n",
      "Epoch 100/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 67s 191ms/step - loss: 0.2840 - acc: 0.9890 - val_loss: 0.5245 - val_acc: 0.9242\n",
      "Epoch 101/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 68s 192ms/step - loss: 0.2769 - acc: 0.9909 - val_loss: 0.5250 - val_acc: 0.9266\n",
      "Epoch 102/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 68s 192ms/step - loss: 0.2717 - acc: 0.9917 - val_loss: 0.5213 - val_acc: 0.9238\n",
      "Epoch 103/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 67s 191ms/step - loss: 0.2644 - acc: 0.9923 - val_loss: 0.5287 - val_acc: 0.9232\n",
      "Epoch 104/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 69s 195ms/step - loss: 0.2616 - acc: 0.9924 - val_loss: 0.5228 - val_acc: 0.9236\n",
      "Epoch 105/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 67s 190ms/step - loss: 0.2556 - acc: 0.9934 - val_loss: 0.5243 - val_acc: 0.9254\n",
      "Epoch 106/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 37s 106ms/step - loss: 0.2518 - acc: 0.9931 - val_loss: 0.5300 - val_acc: 0.9220\n",
      "Epoch 107/182\n",
      "new lr:1.00e-02\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "352/352 [==============================] - 35s 99ms/step - loss: 0.2457 - acc: 0.9945 - val_loss: 0.5317 - val_acc: 0.9230\n",
      "Epoch 108/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 35s 99ms/step - loss: 0.2426 - acc: 0.9949 - val_loss: 0.5309 - val_acc: 0.9250\n",
      "Epoch 109/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 94ms/step - loss: 0.2381 - acc: 0.9951 - val_loss: 0.5276 - val_acc: 0.9280\n",
      "Epoch 110/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 93ms/step - loss: 0.2341 - acc: 0.9954 - val_loss: 0.5271 - val_acc: 0.9256\n",
      "Epoch 111/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 93ms/step - loss: 0.2292 - acc: 0.9964 - val_loss: 0.5335 - val_acc: 0.9240\n",
      "Epoch 112/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 32s 90ms/step - loss: 0.2263 - acc: 0.9960 - val_loss: 0.5292 - val_acc: 0.9254\n",
      "Epoch 113/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 31s 89ms/step - loss: 0.2237 - acc: 0.9960 - val_loss: 0.5242 - val_acc: 0.9246\n",
      "Epoch 114/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 32s 90ms/step - loss: 0.2195 - acc: 0.9966 - val_loss: 0.5374 - val_acc: 0.9252\n",
      "Epoch 115/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 32s 91ms/step - loss: 0.2151 - acc: 0.9971 - val_loss: 0.5258 - val_acc: 0.9260\n",
      "Epoch 116/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 32s 90ms/step - loss: 0.2130 - acc: 0.9966 - val_loss: 0.5315 - val_acc: 0.9244\n",
      "Epoch 117/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 31s 89ms/step - loss: 0.2093 - acc: 0.9968 - val_loss: 0.5227 - val_acc: 0.9238\n",
      "Epoch 118/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 32s 90ms/step - loss: 0.2071 - acc: 0.9967 - val_loss: 0.5285 - val_acc: 0.9236\n",
      "Epoch 119/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 31s 89ms/step - loss: 0.2034 - acc: 0.9969 - val_loss: 0.5262 - val_acc: 0.9248\n",
      "Epoch 120/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 32s 90ms/step - loss: 0.2002 - acc: 0.9973 - val_loss: 0.5318 - val_acc: 0.9234\n",
      "Epoch 121/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 32s 90ms/step - loss: 0.1974 - acc: 0.9976 - val_loss: 0.5324 - val_acc: 0.9274\n",
      "Epoch 122/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 32s 91ms/step - loss: 0.1948 - acc: 0.9972 - val_loss: 0.5319 - val_acc: 0.9228\n",
      "Epoch 123/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 31s 88ms/step - loss: 0.1925 - acc: 0.9973 - val_loss: 0.5153 - val_acc: 0.9256\n",
      "Epoch 124/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 31s 89ms/step - loss: 0.1893 - acc: 0.9976 - val_loss: 0.5489 - val_acc: 0.9244\n",
      "Epoch 125/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 52s 148ms/step - loss: 0.1869 - acc: 0.9978 - val_loss: 0.5272 - val_acc: 0.9252\n",
      "Epoch 126/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 63s 178ms/step - loss: 0.1843 - acc: 0.9975 - val_loss: 0.5258 - val_acc: 0.9252\n",
      "Epoch 127/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 63s 179ms/step - loss: 0.1823 - acc: 0.9976 - val_loss: 0.5245 - val_acc: 0.9246\n",
      "Epoch 128/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 63s 178ms/step - loss: 0.1787 - acc: 0.9981 - val_loss: 0.5467 - val_acc: 0.9218\n",
      "Epoch 129/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 63s 178ms/step - loss: 0.1764 - acc: 0.9981 - val_loss: 0.5062 - val_acc: 0.9290\n",
      "Epoch 130/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 63s 179ms/step - loss: 0.1742 - acc: 0.9977 - val_loss: 0.5220 - val_acc: 0.9270\n",
      "Epoch 131/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 63s 178ms/step - loss: 0.1721 - acc: 0.9978 - val_loss: 0.5264 - val_acc: 0.9256\n",
      "Epoch 132/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 64s 180ms/step - loss: 0.1703 - acc: 0.9977 - val_loss: 0.5129 - val_acc: 0.9250\n",
      "Epoch 133/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 63s 179ms/step - loss: 0.1668 - acc: 0.9981 - val_loss: 0.5164 - val_acc: 0.9214\n",
      "Epoch 134/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 64s 181ms/step - loss: 0.1653 - acc: 0.9978 - val_loss: 0.5191 - val_acc: 0.9240\n",
      "Epoch 135/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 64s 181ms/step - loss: 0.1628 - acc: 0.9978 - val_loss: 0.5129 - val_acc: 0.9254\n",
      "Epoch 136/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 64s 182ms/step - loss: 0.1612 - acc: 0.9978 - val_loss: 0.5092 - val_acc: 0.9242\n",
      "Epoch 137/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 64s 182ms/step - loss: 0.1583 - acc: 0.9982 - val_loss: 0.4976 - val_acc: 0.9276\n",
      "Epoch 138/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 64s 180ms/step - loss: 0.1561 - acc: 0.9984 - val_loss: 0.5201 - val_acc: 0.9250\n",
      "Epoch 139/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 180ms/step - loss: 0.1547 - acc: 0.9985 - val_loss: 0.4923 - val_acc: 0.9292\n",
      "Epoch 140/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 180ms/step - loss: 0.1539 - acc: 0.9985 - val_loss: 0.4902 - val_acc: 0.9288\n",
      "Epoch 141/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 178ms/step - loss: 0.1528 - acc: 0.9988 - val_loss: 0.4889 - val_acc: 0.9306\n",
      "Epoch 142/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1527 - acc: 0.9989 - val_loss: 0.4907 - val_acc: 0.9302\n",
      "Epoch 143/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 179ms/step - loss: 0.1520 - acc: 0.9990 - val_loss: 0.4877 - val_acc: 0.9300\n",
      "Epoch 144/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 179ms/step - loss: 0.1513 - acc: 0.9993 - val_loss: 0.4887 - val_acc: 0.9314\n",
      "Epoch 145/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 178ms/step - loss: 0.1516 - acc: 0.9989 - val_loss: 0.4880 - val_acc: 0.9310\n",
      "Epoch 146/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 178ms/step - loss: 0.1510 - acc: 0.9992 - val_loss: 0.4880 - val_acc: 0.9290\n",
      "Epoch 147/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 178ms/step - loss: 0.1508 - acc: 0.9991 - val_loss: 0.4884 - val_acc: 0.9306\n",
      "Epoch 148/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1503 - acc: 0.9992 - val_loss: 0.4890 - val_acc: 0.9314\n",
      "Epoch 149/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1501 - acc: 0.9992 - val_loss: 0.4884 - val_acc: 0.9308\n",
      "Epoch 150/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1503 - acc: 0.9991 - val_loss: 0.4874 - val_acc: 0.9312\n",
      "Epoch 151/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 178ms/step - loss: 0.1495 - acc: 0.9994 - val_loss: 0.4872 - val_acc: 0.9308\n",
      "Epoch 152/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1492 - acc: 0.9994 - val_loss: 0.4867 - val_acc: 0.9306\n",
      "Epoch 153/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1492 - acc: 0.9993 - val_loss: 0.4882 - val_acc: 0.9314\n",
      "Epoch 154/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1489 - acc: 0.9992 - val_loss: 0.4866 - val_acc: 0.9308\n",
      "Epoch 155/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1482 - acc: 0.9995 - val_loss: 0.4875 - val_acc: 0.9306\n",
      "Epoch 156/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1483 - acc: 0.9995 - val_loss: 0.4878 - val_acc: 0.9294\n",
      "Epoch 157/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 178ms/step - loss: 0.1478 - acc: 0.9995 - val_loss: 0.4875 - val_acc: 0.9304\n",
      "Epoch 158/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 178ms/step - loss: 0.1477 - acc: 0.9996 - val_loss: 0.4883 - val_acc: 0.9298\n",
      "Epoch 159/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1475 - acc: 0.9995 - val_loss: 0.4888 - val_acc: 0.9296\n",
      "Epoch 160/182\n",
      "new lr:1.00e-03\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "352/352 [==============================] - 62s 176ms/step - loss: 0.1474 - acc: 0.9994 - val_loss: 0.4904 - val_acc: 0.9304\n",
      "Epoch 161/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 176ms/step - loss: 0.1471 - acc: 0.9994 - val_loss: 0.4884 - val_acc: 0.9316\n",
      "Epoch 162/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 175ms/step - loss: 0.1466 - acc: 0.9996 - val_loss: 0.4893 - val_acc: 0.9300\n",
      "Epoch 163/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 175ms/step - loss: 0.1469 - acc: 0.9992 - val_loss: 0.4912 - val_acc: 0.9314\n",
      "Epoch 164/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 175ms/step - loss: 0.1463 - acc: 0.9995 - val_loss: 0.4912 - val_acc: 0.9310\n",
      "Epoch 165/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 175ms/step - loss: 0.1463 - acc: 0.9994 - val_loss: 0.4908 - val_acc: 0.9304\n",
      "Epoch 166/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 175ms/step - loss: 0.1462 - acc: 0.9995 - val_loss: 0.4896 - val_acc: 0.9304\n",
      "Epoch 167/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 175ms/step - loss: 0.1460 - acc: 0.9994 - val_loss: 0.4883 - val_acc: 0.9296\n",
      "Epoch 168/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 176ms/step - loss: 0.1454 - acc: 0.9996 - val_loss: 0.4896 - val_acc: 0.9306\n",
      "Epoch 169/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 176ms/step - loss: 0.1454 - acc: 0.9995 - val_loss: 0.4899 - val_acc: 0.9306\n",
      "Epoch 170/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 176ms/step - loss: 0.1450 - acc: 0.9995 - val_loss: 0.4897 - val_acc: 0.9300\n",
      "Epoch 171/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 175ms/step - loss: 0.1446 - acc: 0.9997 - val_loss: 0.4906 - val_acc: 0.9304\n",
      "Epoch 172/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1448 - acc: 0.9995 - val_loss: 0.4900 - val_acc: 0.9302\n",
      "Epoch 173/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 176ms/step - loss: 0.1445 - acc: 0.9995 - val_loss: 0.4909 - val_acc: 0.9302\n",
      "Epoch 174/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 176ms/step - loss: 0.1442 - acc: 0.9995 - val_loss: 0.4922 - val_acc: 0.9316\n",
      "Epoch 175/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1438 - acc: 0.9996 - val_loss: 0.4909 - val_acc: 0.9300\n",
      "Epoch 176/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 178ms/step - loss: 0.1440 - acc: 0.9995 - val_loss: 0.4909 - val_acc: 0.9302\n",
      "Epoch 177/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1435 - acc: 0.9996 - val_loss: 0.4935 - val_acc: 0.9302\n",
      "Epoch 178/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 179ms/step - loss: 0.1432 - acc: 0.9995 - val_loss: 0.4938 - val_acc: 0.9302\n",
      "Epoch 179/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1430 - acc: 0.9996 - val_loss: 0.4923 - val_acc: 0.9310\n",
      "Epoch 180/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 63s 179ms/step - loss: 0.1431 - acc: 0.9996 - val_loss: 0.4910 - val_acc: 0.9310\n",
      "Epoch 181/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 176ms/step - loss: 0.1427 - acc: 0.9995 - val_loss: 0.4936 - val_acc: 0.9300\n",
      "Epoch 182/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 62s 177ms/step - loss: 0.1424 - acc: 0.9997 - val_loss: 0.4931 - val_acc: 0.9308\n",
      "CPU times: user 4h 22min 53s, sys: 22min 39s, total: 4h 45min 32s\n",
      "Wall time: 3h 6min 52s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "from cifar10_solver import *\n",
    "# from keras.callbacks import ReduceLROnPlateau\n",
    "from keras.callbacks import LearningRateScheduler\n",
    "\n",
    "def lr_scheduler(epoch):\n",
    "    new_lr = lr\n",
    "    if epoch <= 91:\n",
    "        pass\n",
    "    elif epoch > 91 and epoch <= 137:\n",
    "        new_lr = lr * 0.1\n",
    "    else:\n",
    "        new_lr = lr * 0.01\n",
    "    print('new lr:%.2e' % new_lr)\n",
    "    return new_lr \n",
    "\n",
    "\n",
    "reduce_lr = LearningRateScheduler(lr_scheduler)\n",
    "# reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.1,\n",
    "#                               patience=10, min_lr=1e-6, verbose=1)\n",
    "\n",
    "solver = CIFAR10Solver(resnet56, data)\n",
    "history = solver.train(epochs=182, batch_size=128, data_augmentation=True, callbacks=[reduce_lr])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmQAAAHjCAYAAACNTANBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3XmYpFV5N/7vqb2q93X2fZhhYMQBBgQBBVcgENxiXKOJihreX9AY4xJNor7JC5oYJUaJKCGK0QQVV0SEsAkIDsMyMDPMysz0bL339N5dVef3x12n6qnqp6qeqq6nqqvq+7muuaq7urr6dNNDfec+93MfpbUGEREREVWOp9ILICIiIqp3DGREREREFcZARkRERFRhDGREREREFcZARkRERFRhDGREREREFcZARkRERFRhDGREREREFcZARkRERFRhvkovoFCdnZ169erVlV4GERERUV5PPvlkv9a6K9/jqi6QrV69Gtu2bav0MoiIiIjyUkodcvI4blkSERERVRgDGREREVGFMZARERERVVjV9ZDZmZ2dRU9PD6ampiq9FNeFQiEsX74cfr+/0kshIiKiEqmJQNbT04OmpiasXr0aSqlKL8c1WmsMDAygp6cHa9asqfRyiIiIqERqYstyamoKHR0dNR3GAEAphY6OjrqoBBIREdWTmghkAGo+jBn18n0SERHVk5oJZERERETVioGsBIaHh/H1r3+94M+78sorMTw87MKKiIiIqJowkJVAtkAWjUZzft5dd92F1tZWt5ZFREREVaImrrK0+tzPn8fOY6dK+pxnLG3G3119ZtaPf/KTn8T+/fuxZcsW+P1+hEIhtLW1Yffu3dizZw/e8IY34MiRI5iamsL111+Pa6+9FkDqGKixsTFcccUVuPjii/Hoo49i2bJl+OlPf4pwOFzS74OIiIgWJlbISuCGG27AunXr8PTTT+NLX/oStm/fjq9+9avYs2cPAODWW2/Fk08+iW3btuGmm27CwMDAnOfYu3cvrrvuOjz//PNobW3Fj370o3J/G0RERFQhNVchy1XJKpfzzz8/bU7YTTfdhDvvvBMAcOTIEezduxcdHR1pn7NmzRps2bIFAHDuuefixRdfLNt6iYiIqLJqLpAtBA0NDcm3H3jgAdx777147LHHEIlEcOmll9rOEQsGg8m3vV4v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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot loss and acc \n",
    "plot_history(history)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10000/10000 [==============================] - 19s 2ms/step\n",
      "test data loss:0.53 acc:0.9237\n"
     ]
    }
   ],
   "source": [
    "solver.test()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
